from SynpickVP import SynpickVP
import visualizations as visualizations
import torch
from matplotlib import pyplot as plt
%load_ext autoreload
%autoreload 2
We instanciate the training, validation and test datasets.
Keep in mind that validation and test always have num_frames = 50 for consistency and reproducibility
train_db = SynpickVP(
split="train",
num_frames=10,
seq_step=2,
img_size=(136, 240),
)
val_db = SynpickVP(
split="val",
num_frames=10,
seq_step=2,
img_size=(136, 240),
)
test_db = SynpickVP(
split="test",
num_frames=10,
seq_step=2,
img_size=(136, 240),
)
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 545957/545957 [00:04<00:00, 123332.49it/s]
SynpickVP test-sequences have 50 frames. Your num_frames = 10 will be overridden
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 31293/31293 [00:00<00:00, 41141.71it/s]
SynpickVP test-sequences have 50 frames. Your num_frames = 10 will be overridden
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 409568/409568 [00:10<00:00, 38877.34it/s]
num_seqs = len(train_db)
print(f"SynpickVP training set with seq_len={train_db.num_frames} has {num_seqs} sequences")
num_seqs = len(val_db)
print(f"SynpickVP validation set with seq_len={val_db.num_frames} has {num_seqs} sequences")
num_seqs = len(test_db)
print(f"SynpickVP test set with seq_len={test_db.num_frames} has {num_seqs} sequences")
SynpickVP training set with seq_len=10 has 42101 sequences SynpickVP validation set with seq_len=50 has 121 sequences SynpickVP test set with seq_len=50 has 1408 sequences
cur_data = train_db[0]
frames = cur_data["frames"]
maps = cur_data["segmentation"]
instances = cur_data["instance"]
(10, 135, 240) (10, 135, 240)
_ = visualizations.visualize_sequence(frames, n_cols=5)
disp = visualizations.overlay_segmentations(
frames=frames,
segmentations=maps,
colors=visualizations.COLORS,
num_classes=train_db.NUM_CLASSES,
alpha=0.5
)
_ = visualizations.visualize_sequence(disp, n_cols=5)
disp = visualizations.overlay_instances(
frames=frames,
instances=instances,
colors=visualizations.COLORS,
alpha=0.5
)
_ = visualizations.visualize_sequence(disp, n_cols=5)
cur_data = test_db[2]
frames = cur_data["frames"][:20]
maps = cur_data["segmentation"][:20]
instances = cur_data["instance"][:20]
_ = visualizations.visualize_sequence(frames, n_cols=10)
disp = visualizations.overlay_segmentations(
frames=frames,
segmentations=maps,
colors=visualizations.COLORS,
num_classes=train_db.NUM_CLASSES,
alpha=0.5
)
_ = visualizations.visualize_sequence(disp, n_cols=10)
disp = visualizations.overlay_instances(
frames=frames,
instances=instances,
colors=visualizations.COLORS,
alpha=0.7
)
_ = visualizations.visualize_sequence(disp, n_cols=10)